#ifndef COMMON_HEAD_H
#define COMMON_HEAD_H

//1.定义常量指针
//2.涉及于特定类内部的常量，要把常量的作用于限制于类以内，就必须把他设置成
//类的成员，确保最多有一个常量副本，就必须把他设计成static 变量
#include <iostream>
using namespace std;

#define NAME "HWS" //替换不太提倡，代码量少可以
const char* const ANAME="HWSA";//c提倡
const std::string BNAME="HWSB";//c++最提倡这种方式


int f(int num) {return num;}
#define CALL_WITH_MAX(a,b) f((a)>(b)?(a):(b))
//替代方案，通过内敛函数的的模板，可以获得宏的所有效率，以及普通函数的所有可预测的行为
//和类型安全。
template<typename T>
inline T callWithMAx(const T&a,const T &b)
{

    return f(a>b?a:b);
}





#endif // COMMON_HEAD_H
